LeetCode 30 day challenge